/**
 * zss-ol-map 主入口文件
 * 基于OpenLayers的二次封装地图库
 */

// 导出地图类
export { Map } from './map/Map';
export { MapManager } from './map/MapManager';

// 导出图层类
export {
  BaseLayer,
  ClusterLayer,
  TrackLayer,
  HeatmapLayer,
  VectorLayer,
  ImageLayer,
  TileLayer,
  LabelLayer,
  DrawLayer,
  LayerManager,
  VectorTileLayer
} from './layers';

// 导出工具类
export { StyleUtil } from './utils/style';
export { DataUtil } from './utils/data';
export { EventEmitter } from './utils/event';
export { StyleCache } from './utils/StyleCache';
export { DataAdapter } from './utils/dataAdapter';
export { SpatialAnalysis, LogisticsAnalyzer } from './utils/SpatialAnalysis';

// 编辑器相关导出
export { Editor, LabelManager, DrawType } from './editor/Editor';

// 导出扩展相关类
export { BaseExtension, ExtensionManager, MeasurementExtension, RouteExtension } from './extension/ExtensionManager';

// 导出 Overlay 相关类
export { Popup, Marker } from './overlay';
export type { PopupOptions, MarkerOptions } from './overlay';

// 导出工具类
export { Measure, MeasureType } from './tools/Measure';
export type { MeasureOptions, MeasureResult } from './tools/Measure';
export { Search } from './tools/Search';
export type { SearchOptions, SearchResult } from './tools/Search';
export { Route } from './tools/Route';
export type { RouteOptions, RouteResult, RoutePoint, RouteStep } from './tools/Route';

// 导出控件类
export { FullScreen, BaseControl } from './controls';
export type { ControlPosition, FullScreenOptions } from './controls';

// 导出类型定义
export * from './types';

